﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Sockets;
using System.Net;
using System.Text;
using System.Threading.Tasks;

/*********************************************************
 * 命名空间 Simple.BasicNet.Core.Configuration
 * 接口名称 IConfiguration
 * 开发人员：11920
 * 创建时间：2023/4/18 14:32:45
 * 描述说明：
 * 更改历史：
 * 
 * *******************************************************/
namespace Simple.BasicNet.Core.Configuration
{
	public interface IConfiguration
	{
		public void SetIpAddress(string IpString);
		public IPAddress GetIpAddress();
		public int Port { get; set; }
		public string IpAddress { get; set; }
		public SocketType SocketType { get; set; }
		public ProtocolType ProtocolType { get; set; }
		//
		// 摘要:
		//     Places a System.Net.Sockets.Socket in a listening state.
		//
		// 参数:
		//   backlog:
		//     The maximum length of the pending connections queue.
		//
		// 异常:
		//   T:System.Net.Sockets.SocketException:
		//     An error occurred when attempting to access the socket.
		//
		//   T:System.ObjectDisposedException:
		//     The System.Net.Sockets.Socket has been closed.
		public int Backlog { get; set; }

		public TConfiguration GetConfiguration<TConfiguration>() where TConfiguration : IConfiguration;



	}
}
